package com.swancloud.model.network.v20210120.fwaas;

import com.swancloud.common.Buildable;
import com.swancloud.model.ModelEntity;
import com.swancloud.model.network.v20210120.fwaas.builder.FirewallUpdateBuilder;

import java.util.List;

/**
 * A Builder to Update Firewall of FwaaS
 *
 * @author Vishvesh Deshmukh
 */
public interface FirewallUpdate extends ModelEntity, Buildable<FirewallUpdateBuilder> {

	/**
	 * @return tenantId : Human readable name for the firewall (255 characters limit). Does not have to be unique.
	 */
	public String getName();

	/**
	 * @return description : Human readable description for the firewall (1024 characters limit).
	 */
	public String getDescription();

	/**
	 * @return adminstateup :  The administrative state of the firewall,
	 *         which is up (true) or down (false).
	 */
	public Boolean isAdminStateUp();

	/**
	 * @return shared :  When set to True makes this firewall rule visible to tenants other
	 * 					 than its owner, and can be used in firewall policies not owned by its tenant.
	 */
	public Boolean isShared();

	/**
	 * @return policyid : The firewall policy uuid that this firewall is associated with.
	 * 				This firewall will implement the rules contained in the firewall policy represented by this uuid.
	 */
	public String getIngressPolicyId();

	public String getEgressPolicyId();

	public List<String> portIds();

}
